Compilation transforms source code written in a programming language into another computer language that is typically in a binary form (i.e., object code). Compilation typically occurs frequently and is triggered on each developer's machine, as a part of continuous integration, on a nightly build server, etc. Parallel compilation is a technique that allows for different portions of the source code to be compiled in parallel on different computing devices. Some programming languages (e.g. C, C++) facilitate parallel compilation by providing metadata (i.e., declarations) that is separate from the implementation, which allows a module to be compiled against another module's metadata before that other module is compiled.